#pragma once

#include "PreProcDOM.hpp"

namespace CPreProc
{
  class IfCondition : public IfGroupCondition
  {
  public:
    static Glib::RefPtr<IfCondition> parse(Tokenizer &tokenizer);

    virtual bool evaluate(PreProcessorContext &context);

    virtual void load(BuildNG::InStream &src);
    virtual void save(BuildNG::OutStream &out);

  private:
    IfCondition(Tokenizer &tokenizer);

    const gchar *condition_begin;
    const gchar *condition_end;
  };
}

